-- StartGame
-- Create by weism
-- 游戏逻辑的启动流程

require("game/logic/startLogic");
require("game/base/Sequence");
require("game/ui/UIMgr");
require("game/ui/UIConsts");
require("game/base/gameAnalytics");
require("game/ui/base/TextPoolM");
require("game/scene/FormEffectM");
require("game/scene/FormFocusM");
require("game/logic/module/PixelFormatM");
require("game/PreloadList");

function startGame()
    -- 图片格式设置
    -- PixelFormatM.init();

    -- 自动更新sdk相关的lua文件
    if isAndroidPlatform() then
        update("src/game/sdk/android/SdkMgr");
        SdkMgr.updateRequiredFiles();
    elseif isIosPlatform() then
        update("src/game/sdk/ios/SdkMgr");
        SdkMgr.updateRequiredFiles();
    end

    -- logic逻辑
    startLogic();

    -- 启动验证线程
    -- cc.VerifyAgent:getInstance():init();

    -- 文本对象池初始化
    TextPoolM.init();

    -- 窗口特效管理模块初始化
    FormEffectM.init();

    -- 窗口焦点模块初始化
    FormFocusM.init();

    -- print("startUI");

    -- 注意：此流程由AutoPatch自动调用，这是为了预加载资源时方便
    -- 启动界面
    -- UIMgr.startUI();

    -- 开始预加载资源
    startPreloadRes();
end
